"""
    ================================================================================
                            ------------utf-8--------------
    ================================================================================
@Author: 
    rfdsg
@Create Time: 
    2024/10/2 - 10:37
@Description:

@Attention:
    
"""
import logging
import logging.config
import os


def setup_logging():
    # 获取项目根目录
    ROOT_DIR = os.path.dirname(os.path.abspath(__file__))
    log_file = os.path.join(ROOT_DIR, os.getenv('LOGGER_FILE_NAME') + '.log')
    # 确保日志目录存在
    os.makedirs(os.path.dirname(log_file), exist_ok=True)
    logging_config = {
        'version': 1,
        'disable_existing_loggers': False,
        'formatters': {
            'default': {
                'format': '%(asctime)s - %(levelname)s - %(message)s (%(filename)s:%(lineno)d)',
            },
        },
        'handlers': {
            'console': {
                'class': 'logging.StreamHandler',
                'formatter': 'default',
                'level': 'INFO'
            },
            'file': {
                'class': 'logging.FileHandler',
                'filename': log_file,
                'formatter': 'default',
                'level': 'WARNING'
            },
        },
        'root': {
            'level': 'DEBUG',
            'handlers': ['console', 'file'],
        },
    }

    logging.config.dictConfig(logging_config)
